From 2c1ecba59f17b761bc56e2d7cde8a12f363c12c4 Mon Sep 17 00:00:00 2001 From: robertl Date: Sat, 1 Jul 2006 21:51:26 +0000 Subject: [PATCH] Olaf and I Attempt to split the 'release' Makefile target to be more manageable and build everything that needs building. --- gpsbabel/Makefile.in | 76 ++++++++++++++++++++++-------- gpsbabel/xmldoc/chapters/build.xml | 1 - 2 files changed, 57 insertions(+), 20 deletions(-) diff --git a/gpsbabel/Makefile.in b/gpsbabel/Makefile.in index e1f34ce12..eabcae40c 100644 --- a/gpsbabel/Makefile.in +++ b/gpsbabel/Makefile.in @@ -3,13 +3,13 @@ VPATH = @srcdir@ VERSU=1_2_8 VERSD=1.2.8 # YYYYMMDD, please, if beta. -RELEASE=-beta20060605 +RELEASE=-beta20060701a VERSIONU=$(VERSU)$(RELEASE) VERSIOND=$(VERSD)$(RELEASE) DOCVERSION=development -# VERSIONU=1_2_7 -# VERSIOND=1.2.7 +CC=@CC@ +EXEEXT=@EXEEXT@ #EXTRA_LIBS -lefence @@ -28,6 +28,7 @@ DEBUGGING=-g $(EXTRA_DEBUGGING) # add -DDEBUG_MEM to turn on memory allocation logging GBCFLAGS=$(EXTRA_CFLAGS) $(DEBUGGING) -I. -I@srcdir@/coldsync \ $(OPTIMIZATION) @CFLAGS@ +LDFLAGS=$(EXTRA_LDFLAGS) @LDFLAGS@ INSTALL_TARGETDIR=/usr/local/ # OTHER_ROOT=/opt/local # For DarwinPorts on OSX @@ -75,7 +76,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \ OBJS = main.o globals.o $(LIBOBJS) .c.o: - @CC@ @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@ + $(CC) @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@ @@ -83,19 +84,19 @@ OBJS = main.o globals.o $(LIBOBJS) WEB=../babelweb/ -all: gpsbabel@EXEEXT@ +all: gpsbabel$(EXEEXT) -gpsbabel@EXEEXT@: $(OBJS) - @CC@ $(CFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@ +gpsbabel$(EXEEXT): $(OBJS) + $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@ Makefile: Makefile.in config.status CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status globals.o: - @CC@ @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@ + $(CC) @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@ jeeps/gpslibusb.o: - @CC@ @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@ + $(CC) @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@ clean: rm -f $(OBJS) gpsbabel gpsbabel.exe @@ -137,7 +138,7 @@ $(WEB)/htmldoc-$(DOCVERSION)/readme.html: FORCE xmldoc/readme.xml tools/mkcapabilities -gpsbabel-onepage.html: FORCE +gpsbabel.html: FORCE xsltproc \ --stringparam toc.section.depth "1" \ --stringparam html.stylesheet \ @@ -145,28 +146,58 @@ gpsbabel-onepage.html: FORCE http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \ xmldoc/readme.xml > $@ || rm $@ +readme.txt: gpsbabel.html + lynx -nolist -dump gpsbabel.html > $@ -readme.txt: readme.html - lynx -nolist -dump readme.html > $@ - -doc: $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt +doc: gpsbabel $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt FORCE: -release: +# file list for windows package +WINFILES = gpsbabel.exe mingw/libexpat.dll win32/GPSBabelGUI.exe win32/gui-2/README.gui \ + README* AUTHORS COPYING gpsbabel.html + +# +# Do administrative-y things to the tree. Verify that everything is checked +# in and tagged. +# +release-sourcecheck: cvs commit ./chkdoc - make clean && cd mingw ; make clean + make clean rm -fr gpsbabel-$(VERSIOND) + make gpsbabel doc gpsbabel.html cvs tag -F gpsbabel_$(VERSIONU) cvs export -r gpsbabel_$(VERSIONU) -d gpsbabel-$(VERSIOND) gpsbabel - tar czf /tmp/gpsbabel-$(VERSIOND).tar.gz gpsbabel-$(VERSIOND) - cd /tmp ; tar xzf gpsbabel-$(VERSIOND).tar.gz + +# +# Build the release tarball from the exported CVS tree, tweaking +# timestamps and including generated filess as needed. +# +release-tarball: gpsbabel.html +# rm -fr /tmp/gpsbabel-$(VERSIOND) touch /tmp/gpsbabel-$(VERSIOND)/internal_styles.c - cd /tmp/gpsbabel-$(VERSIOND)/mingw ; make + cp -ap gpsbabel.html /tmp/gpsbabel-$(VERSIOND)/ + tar czf /tmp/gpsbabel-$(VERSIOND).tar.gz gpsbabel-$(VERSIOND) +# cd /tmp ; tar xzf gpsbabel-$(VERSIOND).tar.gz + + +# +# The Windows executables are cross compiled from the exported CVS image. +# Do the build of that here and make a zip file for distribution. +# +release-winbuild: + cd /tmp/gpsbabel-$(VERSIOND) ; \ + LDFLAGS="-s" ./configure --target=i386-pc-mingw32 --with-cet=all && make mingw32-cross-build ; \ + zip -j /tmp/gpsbabel-$(VERSIOND).zip $(WINFILES) + +release-upload: + @(. tools/functions && ask "Type yes if you want to do the upload now" "yes" ) curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).tar.gz ftp://upload.sf.net/incoming/ curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).zip ftp://upload.sf.net/incoming/ +release: release-sourcecheck release-tarball release-winbuild release-upload + rpm: clean tools/mkrpm $(VERSD) $(RELEASE) @@ -186,6 +217,13 @@ msvc-build: echo $(OBJS) > objs.lst LINK.EXE /NOLOGO @objs.lst ./msvc/expat/libexpat.lib /out:gpsbabel.exe +# under linux: ./configure --target=i386-pc-mingw32 && make mingw32-cross-build +mingw32-cross-build: + make \ + CC=/usr/local/bin/i386-mingw32-gcc \ + EXEEXT=.exe \ + EXTRA_LDFLAGS="-Lmingw/lib -Imingw/include " + # Machine generated from here down. an1.o: an1.c defs.h config.h queue.h gbtypes.h cet.h cet_util.h inifile.h \ an1sym.h diff --git a/gpsbabel/xmldoc/chapters/build.xml b/gpsbabel/xmldoc/chapters/build.xml index 9f66d1439..704577195 100644 --- a/gpsbabel/xmldoc/chapters/build.xml +++ b/gpsbabel/xmldoc/chapters/build.xml @@ -1,4 +1,3 @@ - Getting it and Building it -- 2.30.2